import type { PaginationParams } from '@/types';

/**
 * 菜单管理相关类型定义
 */

// 菜单类型
export type MenuType = 'directory' | 'menu' | 'button';

// 获取菜单列表参数
export interface GetMenusParams extends PaginationParams {
  search?: string;
  type?: string;
  status?: string;
}

// 创建菜单数据
export interface CreateMenuData {
  parentId?: string;
  name: string;
  title: string;
  english?: string;
  type: 'directory' | 'menu' | 'button';
  path?: string;
  component?: string;
  icon?: string;
  permission?: string;
  orderNum?: number;
  visible?: boolean;
  status?: boolean;
  cache?: boolean;
  redirect?: string;
}

// 更新菜单数据
export interface UpdateMenuData {
  parentId?: string;
  name?: string;
  title?: string;
  english?: string;
  type?: 'directory' | 'menu' | 'button';
  path?: string;
  component?: string;
  icon?: string;
  permission?: string;
  orderNum?: number;
  visible?: boolean;
  status?: boolean;
  cache?: boolean;
  redirect?: string;
}


